#define _CRT_SECURE_NO_WARNINGS
class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int end1 = m - 1, end2 = n - 1;
        int i = nums1.size() - 1;
        while (end1 >= 0 || end2 >= 0)
        {
            if (end1 < 0) nums1[i--] = nums2[end2--];
            else if (end2 < 0) nums1[i--] = nums1[end1--];
            else
            {
                if (nums1[end1] >= nums2[end2])
                {
                    nums1[i--] = nums1[end1--];
                }
                else
                {
                    nums1[i--] = nums2[end2--];
                }
            }

        }
    }
};